// vim: sw=4 ts=4
// эта программа выводит все ссылки из файла links.txt, соответствующие
// которым файлы не скачаны
//
// применение:
// $ ./ldiff links.txt | wget2 -ci-
//
// ---
//
// дефекты этой реализации:
// не может определить файл, связанный с этой ссылкой (буквально):
// https://static1.e926.net/data/4f/2c/4f2c8e4096825a0dc3e31c8cbaaff6b6.webm

import std.stdio;
import std.string;
import std.file;

void main(string[] argv)
{
    if (argv.length < 2)
        throw new Exception("specify filename");

    if (!exists(argv[1]))
        throw new Exception("file does not exists");

    File file = File(argv[1], "r");

    for (string line; !file.eof; line = file.readln.strip)
        if (!line.empty && !exists(line[$ - line.lastIndexOf('/') - 1 .. $]))
            writeln(line);
}
